package com.dataart.training.crimequalification.matching;

import com.dataart.training.crimequalification.domain.CrimeDetails;
import com.dataart.training.crimequalification.domain.CrimeObject;
import com.dataart.training.crimequalification.domain.SubjectiveSide;
import com.dataart.training.crimequalification.entity.CrimeConsequenceEntity;
import com.dataart.training.crimequalification.entity.CrimeSubjectEntity;

public interface CrimeDetailsMatchingService {

    public MatchingResult matchCrimeObjects(CrimeObject crimeObjectOne, CrimeObject crimeObjectTwo);

    public MatchingResult matchCrimeSubjects(CrimeSubjectEntity crimeSubjectOne, CrimeSubjectEntity crimeSubjectTwo);

    public MatchingResult matchWholeCrimeDetails(CrimeDetails crimeDetailsOne, CrimeDetails crimeDetailsTwo);

    public MatchingResult matchSubjectiveSides(SubjectiveSide subjSideOne, SubjectiveSide subjSideTwo);

    public MatchingResult matchConsequences(CrimeConsequenceEntity consequenceOne,
                                            CrimeConsequenceEntity consequenceTwo);

}
